import java.util.concurrent.Semaphore;

/**
 * @Author YuanYuan
 * @Date 2022/10/13
 * @Time 15:27
 */


public class semaphore {

    public static void main(String[] args) throws InterruptedException {
        //构造的时候需要指定初始值,计数器的初始值,表示有几个可用资源

        Semaphore semaphore = new Semaphore(4);
        //这是 P操作,申请资源,计数器 -1
        semaphore.acquire();
        System.out.println("P 操作");
        semaphore.acquire();
        System.out.println("P 操作");
        semaphore.acquire();
        System.out.println("P 操作");
        semaphore.acquire();
        System.out.println("P 操作");
        semaphore.acquire();
        System.out.println("P 操作");
        //这是V操作,释放资源,计数器 + 1
    }
}
